<?php
class TuviController extends CpController
{
    public function init(){
        $url = new Url();
        $this->breadcrumbs[] = array('name'=>'QT Tin tử vi','link'=>$url->createUrl("tuvi/index"),'class'=>'');
    }
    public function actionIndex(){
        $row_per_page = 20; $arr_game_id = array();  
        $this->breadcrumbs[] = array('name'=>'DS tử vi','link'=>'#','class'=>'active');
        $from_date = isset($_GET["from_date"]) ? trim($_GET["from_date"]):"";
        $to_date = isset($_GET["to_date"]) ? trim($_GET["to_date"]):"";
        $categoryId = isset($_GET["categoryId"]) ? intval($_GET["categoryId"]):0;
        $keyword = isset($_GET["keyword"]) ? trim($_GET["keyword"]):"";
        $type = isset($_GET["type"]) ? intval($_GET["type"]):0;
        $status = isset($_GET["status"]) ? intval($_GET["status"]):2;
        $page = isset($_GET["page"]) ? intval($_GET["page"]):1;
        $data_cat = ATuviCategory::getAllData(4);
        list($max_page,$count,$data) = ATuvi::getDataSearch($from_date,$to_date,$categoryId,$keyword,$type,$status,$page,$row_per_page);

        $this->render("index",array("data_cat"=>$data_cat,"max_page"=>$max_page,"count"=>$count,"data"=>$data,
        "from_date"=>$from_date,"to_date"=>$to_date,"categoryId"=>$categoryId,"keyword"=>$keyword,"type"=>$type,
        "status"=>$status,"page"=>$page));
    }
    public function actionCreate(){
        $this->breadcrumbs[] = array('name'=>'Thêm mới tử vi','link'=>'#','class'=>'active');
        $data_cat = ATuviCategory::getAllData(4);
        $this->render("create",array("data_cat"=>$data_cat));
    }

    public function actionAjaxSaveTuvi(){ 
        $time_now = time();    
        $create_user = Yii::app()->user->name;        
        $categoryId = isset($_POST["categoryId"]) ? intval($_POST["categoryId"]):0; 
        $title_tuvi = isset($_POST["title_tuvi"]) ? trim(strip_tags($_POST["title_tuvi"])):""; 
        $picture = isset($_POST["picture"]) ? trim($_POST["picture"]):""; 
        $introtext = isset($_POST["introtext"]) ? trim(strip_tags($_POST["introtext"])):""; 
        $description = isset($_POST["description"]) ? trim($_POST["description"]):"";  
        $status = isset($_POST["status"]) ? intval($_POST["status"]):0; 
        if($title_tuvi == ''){ echo "Tiêu đề tin không được để trống";exit;}
        if(Common::generate_slug($title_tuvi)==''){
            echo "Tiêu đề tin không hợp lệ";exit;
        }
        if($categoryId == 0){ echo "Danh mục không được để trống";exit;}
        if($picture == ''){ echo "Chưa up ảnh";exit;}
        $data_cat = ATuviCategory::getDataById($categoryId);
        $data = array(
        "categoryId"=>array("value"=>$categoryId,"type"=>1),
        "title"=>array("value"=>$title_tuvi,"type"=>2),
        "alias"=>array("value"=>Common::generate_slug($title_tuvi),"type"=>2),
        "picture"=>array("value"=>$picture,"type"=>2),
        "introtext"=>array("value"=>$introtext,"type"=>2),
        "description"=>array("value"=>$description,"type"=>2),
        "status"=>array("value"=>$status,"type"=>1),       
        "create_date"=>array("value"=>$time_now,"type"=>1),    
        "update_date"=>array("value"=>$time_now,"type"=>1),
        "create_user"=>array("value"=>$create_user,"type"=>2),    
        );
        $table = "c_tuvi";
        $tuvi_id = CommonDB::insertRow($table,$data);

        if($tuvi_id >0){
            $act = 1;
            $obj = 31;
            $content = LogConfig::$action[$act].' '.LogConfig::$object[$obj].': {id: '.$tuvi_id.',name: '.$title_tuvi.',categoryId: '.$categoryId.'}';
            $result = AAdminLog::insertAdminLog($act,$obj,$content);
            echo 1;
        }else{
            echo "Có lỗi trong quá trình xử lý! Hãy báo với kỹ thuật";exit;
        }
    }
    public function actionAjaxQuickUpdate(){
        $time_now = time();
        $status = isset($_POST["status"]) ? intval($_POST["status"]):0;
        $position = isset($_POST["position"]) ? intval($_POST["position"]):1;
        $id = isset($_POST["id"]) ? intval($_POST["id"]):0;
        if($id >0){
            $data_old = ATuvi::getDataById($id);
            $data = array(
            "status"=>array("value"=>$status,"type"=>1),
            "position"=>array("value"=>$position,"type"=>1),
            "id"=>array("value"=>$id,"type"=>1)
            );

            $table = "c_tuvi";
            $result = CommonDB::updateRow($table,$data,array("id"));
            if($result >0){
                $act = 2;
                $obj = 31;
                $content = LogConfig::$action[$act].' '.LogConfig::$object[$obj].': {id: '.$id.',name: '.$data_old["title"].',status: '.$data_old["status"].'} thành';
                $content .= ' {id: '.$id.',name: '.$data_old["title"].',status: '.$status.'}';
                $result = AAdminLog::insertAdminLog($act,$obj,$content);
                echo 1;exit();
            }else{
                echo "Chưa thay đổi dữ liệu";
            }
        }
    }
    public function actionAjaxDelete(){
        $time_now = time();
        $id = isset($_POST["id"]) ? intval($_POST["id"]):0;
        if($id >0){
            $data_old = ATuvi::getDataById($id);
            $table = "c_tuvi";
            $result = CommonDB::deleteRow($table,array("id"=>$id));
            if($result >0){
                $act = 3;
                $obj = 31;
                $content = LogConfig::$action[$act].' '.LogConfig::$object[$obj].': {id: '.$id.',name: '.$data_old["title"].',categoryId: '.$data_old["categoryId"].'}';                
                $result = AAdminLog::insertAdminLog($act,$obj,$content);
                echo 1;exit();
            }else{
                echo "Chưa thay đổi dữ liệu";
            }
        }
    }
    public function actionEdit(){
        $id = isset($_GET["id"]) ? intval($_GET["id"]):0;
        $data = ATuvi::getDataById($id);
        $this->breadcrumbs[] = array('name'=>'Sửa tin tử vi','link'=>'#','class'=>'active');
        if($data){
            $data_cat = ATuviCategory::getAllData(4);
            $this->render("edit",array("data"=>$data,"data_cat"=>$data_cat));
        }
    }
    
    public function actionAjaxUpdateTuvi(){
        $time_now = time();
        $id = isset($_POST["id"]) ? intval($_POST["id"]):0;
        $title_tuvi = isset($_POST["title_tuvi"]) ? trim(strip_tags($_POST["title_tuvi"])):"";
        $categoryId = isset($_POST["categoryId"]) ? intval($_POST["categoryId"]):0;
        $status = isset($_POST["status"]) ? intval($_POST["status"]):0;
        $picture = isset($_POST["picture"]) ? trim($_POST["picture"]):"";
        $introtext = isset($_POST["introtext"]) ? trim(strip_tags($_POST["introtext"])):"";
        $description = isset($_POST["description"]) ? trim($_POST["description"]):"";
        if($title_tuvi == ''){ echo "Tiêu đề tin không được để trống";exit;}
        if($categoryId == 0){ echo "Danh mục không được để trống";exit;}
        if($picture == ''){ echo "Chưa up ảnh";exit;}
        $data_old = ATuvi::getDataById($id);
        if($data_old){

            $data = array(
            "categoryId"=>array("value"=>$categoryId,"type"=>1),
            "title"=>array("value"=>$title_tuvi,"type"=>2),
            "picture"=>array("value"=>$picture,"type"=>2),
            "introtext"=>array("value"=>$introtext,"type"=>2),
            "description"=>array("value"=>$description,"type"=>2),
            "status"=>array("value"=>$status,"type"=>1),
            "update_date"=>array("value"=>$time_now,"type"=>1),
            "id"=>array("value"=>$id,"type"=>1),
            );
            $table = "c_tuvi";
            $result = CommonDB::updateRow($table,$data,array("id"));
            if($result >0){
                $act = 2;
                $obj = 31;
                $content = LogConfig::$action[$act].' '.LogConfig::$object[$obj].': {id: '.$id.',name: '.$data_old["title"].',categoryId: '.$data_old["categoryId"].'} thành ';
                $content .= ' {id: '.$id.',name: '.$title_tuvi.',categoryId: '.$categoryId.'}';
                $result = AAdminLog::insertAdminLog($act,$obj,$content);
                echo 1;exit();
            }else{
                echo "Chưa thay đổi dữ liệu";
            }
        }
    }
}
